/*********************************************************
          File Name:16.61.cpp
          Author: Abby Cin
          Mail: abbytsing@gmail.com
          Created Time: Sat 07 May 2016 12:50:11 PM CST
**********************************************************/

#include <iostream>
#include <memory>

namespace nm
{
  template<typename Type, typename... Args>
  std::shared_ptr<Type> make_shared(Args&& ...args)
  {
    return std::shared_ptr<Type>(new Type(std::forward<Args>(args)...));
  }
}

int main()
{
  std::shared_ptr<int> is = nm::make_shared<int>(1);
  std::cout << *is << std::endl;
}
